Temperature determination from brain thermal tunnel

ABSTRACT

Systems, methods, and computer-executable instructions for determining a temperature of an individual including receiving, from a first camera, first image frames. The individual is detected in the first image frames. Facial features of the individual are detected from the first image frames. A brain thermal tunnel location is determined from the facial features of the individual. A second camera provides second image frames that include thermal data. The brain thermal tunnel locations from the first image frames are mapped to the second image frames. For each second image frame, a temperature of the individual is determined based on the mapped brain thermal tunnel location. A combined temperature is determined based on the temperatures determined from the second image frames.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to U.S. patent application Ser. No. 16/915,417, entitled “Contract Tracing via Location Service,” filed on Jun. 29, 2020, which is incorporated by reference in its entirety.

BACKGROUND

Temperature calculations of an individual may be determined from information received from a thermal camera. An elevated temperature may indicate that an individual is ill. The accuracy of data from a thermal camera may be influenced by various factors such as a distance of the individual from the camera, movement of the individual, and quality of the camera. Inaccurate temperature reads of an individual may allow an ill individual to be classified as well. Accordingly, there is a need to enhance the accuracy of temperature determination of an individual from thermal camera data.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a system diagram of a location service system in accordance with respective examples.

FIG. 2 is a diagram illustrating an area with location based contact tracing in accordance with respective examples.

FIG. 3 is a diagram illustrating an area with location based contact tracing in accordance with respective examples.

FIG. 4 is a diagram illustrating an augmented reality view in accordance with respective examples.

FIG. 5 is a diagram illustrating a flow diagram of a process for contact tracing in accordance with respective examples.

FIG. 6 is a diagram illustrating a image frame of a detected face of an individual in accordance with respective examples.

FIG. 7 is a diagram illustrating a image frame of a detected brain thermal tunnel of an individual in accordance with respective examples.

FIG. 8 is a diagram illustrating a flow diagram of a process for temperature determination using a brain thermal tunnel in accordance with respective examples.

FIG. 9 is an example computing device that can be used in conjunction with the technologies described herein.

DETAILED DESCRIPTION

Beacon information transmitted from beacons is relatively lightweight. For example, a 30 byte packet, e.g., beacon information, may be transmitted from a beacon. This packet may be transmitted multiple times each second. As an example, some protocols have the beacon information transmitted ten times each second. In a proximity based location system, multiple beacon readers detect a transmission from a beacon. The beacon information from each of detected readers may be transmitted to a location service that uses the beacon information and the location of the readers that detected the beacon information to calculate a location of the detected beacon.

A location service or location system is able to determine the location of a large number of beacons. A beacon may be worn by a person or attached to an object. Using the determined location of beacons, the location service, or another service that uses the data from the location service, is able to determine where beacons were over a period of time. Accordingly, a path of a beacon through an area may be determined. In addition, when the beacon was at a particular point on the path is also able to be determined from the data from the readers. Using the paths and times traveled of multiple beacons, which beacons have come into proximity with one another may be determined. In addition, the amount of time that the beacons where in proximity to one another may be determined. For example, two beacons may be determined to have been within proximity of one another for twenty minutes. Accordingly, the location service may be used to contact trace an infection through a population. With the threat of infections being able to rapidly spread through an area, there is a need for enhanced contact tracing. In addition, using a location service allows more efficient and accurate data analysis, compared to relying on self reporting.

In addition, information from a kiosk may be used to supplement data from the location service. For example, the kiosk may include the ability to read an individual's temperature. The kiosk may also include facial recognition to determine the individual or may be a beacon reader that reads a beacon associated with the individual. If the kiosk determines an individual is sick, the individual may be denied entrance to an area. For example, an individual may be denied boarding a ship and directed to an infirmary. The location service may also integrate cameras to read health data of individuals. Health data may include body temperature, heart rate, oxygen levels, etc. Health data determined by the location service may also be supplemented with health data from other devices, such as personal health devices. Combining the collection and analysis of health data combined with time and location data, allows for automatic detection of sick individuals combined with contact tracing of that individual through an area.

FIG. 1 is a system diagram of a location service system in accordance with respective examples. The location service 110 may be used to determine when and where beacons 102 where located within an area. The system includes beacons 102 and beacon readers 104 that are part of a proximity system that provides proximity information to a location service 110. Beacons 102A, 102B, 102C may be carried by individuals or attached to objects such as luggage, equipment, etc. The beacons 102A, 102B, 102C advertise their presences by broadcasting beacon information to readers 104A, 104B, 104C. In an example, the readers 104A, 104B, 104C, detect beacons using Bluetooth Low Energy (BLE). The beacon information may be continuously broadcast from the beacons 102A, 102B, 102C. The beacon information may include a beacon identifier and a transmission strength. The readers 104A, 104B, 104C detect the beacon information from one or more of the beacons 102A, 102B, 102C. Individually, the readers 102A, 102B, 102C are able to determine a distance between the reader and the detected beacon. The reader, however, is not able to determine a position of the beacon. Accordingly, the reader is able to detect advertised beacon information from beacons that are in the proximity of the readers.

Beacon information, or a portion of beacon information, along with potentially the proximate distance between a reader and a beacon may be sent to a location service 110. The location service 110 is able to use beacon information related to the same beacon, e.g., 102B, from multiple readers, e.g., 104B and 104C, to calculate a position or location of the beacon. For example, the location service 110 may use triangulation based on beacon information from three or more different readers. The location service 110, therefore, is able to determine a position of the beacon 102A. The position may be used to derive additional location information. In various examples, the location service 110 may provide location information to an application (not shown). The location service 110 may include a location engine that may be used to determine a position of a detected beacon.

The location service 110 may be connected to the readers 104 via a network. The network has a limited data bandwidth based on various factors known in network design. The readers 104 may receive beacon information multiple times a second, e.g., 5 times, 10 times, 15 times, from each detected beacon. In addition, multiple beacons may detect the same advertised beacon information from a single beacon. Prior art systems have transmitted every detected beacon information from every reader to a location service. Such a solution may tax the available network bandwidth. In some instances, the network bandwidth has become saturated with data from the readers. Redundant networks may be used to increase the available bandwidth, but comes with the cost of supporting and installing a second network. In some examples, the location services may be installed on a cruise ship or within an existing building, such as a hotel, hospital, etc., such that adding a second network may be cost prohibitive or physically impossible. In addition, given errors in accuracy in the distance determination results in the location service receiving low quality data. Combined with receiving all detected beacons, the errors in accuracy results in the location service receiving a large volume of low quality data.

The readers 104 may implement various disclosed features to reduce data traffic flow. For example, the readers may detect beacons over a read delay period. The read delay period may be greater in length than the beacon information advertising rate, such that a beacon reader may receive multiple beacon information from a single beacon during the read delay period. As a specific example, beacon information may be transmitted ten times each second. The read delay period may be set to 0.5 seconds, 1 second, 5 seconds, etc. During the read delay period, the readers 104 detect advertised beacon information from the beacons 102. At the end of the read delay period, each reader 104 may transmit to the location service 110 a single detect indication for each detected beacon. This feature may result in a 10× to 30× reduction in data traffic.

The data provided to the location service 110 from the readers 104 may include a beacon identifier that identifies the detected beacon 102. In addition, a calculated distance between the reader 104 and the beacon 102 may also be included in the data provided to the location service 110. The calculated distance may be based on an average distance of the detected beacon during the read delay period. In another example, the distance may be the last detected distance. In yet another example, the distance may be an average distance of a last number of detections. For example, the last 50% of detected beacon information may be used to calculate the average distance, while ignoring the first 50% of detected beacon information in the average distance calculation.

The average distance calculation may also be used to determine if a beacon has moved more than a distance threshold since the last read delay period. If a beacon has not moved more than this distance threshold since the last read delay period, the beacon reader may choose not to provide an indication that the beacon was detected. In this example, the location service may determine the location of the beacon to be the last reported distance of the beacon. As an example, the distance threshold may be 1 meter; 3 meters; 5 meters; etc. The distance threshold may be based on a percentage of the previously reported distance. For example, the distance threshold may be 10%, 20%, 35%, etc., of the previously reported distance. In addition, the distance threshold may be set based on the features of the beacon reader. For example, a beacon reader may be able to determine an angle of approach or angle of departure of a beacon. These angles may allow the beacon reader to calculate a more accurate beacon distance, i.e., the distance between a beacon and a beacon reader that detects the beacon. The availability of a more accurate beacon distance may be used to reduce the distance threshold used.

The distance threshold may be used to help ensure a better quality of information is provided to the location service. For example, the accuracy of the beacon distance calculation may decrease as the distance between the beacon and the beacon reader increases. Accordingly, the distance threshold may be determined based on the average distance. If the beacon is determined to be close to the beacon reader, e.g, within 3 meters, the distance threshold may be set to a smaller value compared to when the beacon is determined to be further away, e.g, more 7 meters. This ensures that the beacon reader takes into account the accuracy of the distance calculation. Reporting to the location service when the beacon reader detects actual movement of the beacon means the location service is getting higher quality data compared to receiving all of the data from the beacon reader.

Another feature that may be used to reduce data traffic is the use of a read radius. Some known beacon reader technology loses accuracy as the beacon is farther away from the reader. For example, a distance calculation of a beacon that is within 5 meters of the reader may have an accuracy of +/−0.25 meters. Beacons that are detected to be 5-10 meters from the reader may have an accuracy of +/−3 meters. In some examples, beacons that are detected by a reader but are determined to be further away than a read radius from the reader may be ignored. Ignoring a detected beacon may mean that the reader ignores the detected beacon information in any average distance calculation. Another example is when the calculated average distance is greater than the read radius. In this example, ignoring the detected beacon means not sending an indication to the location service regarding the beacon when the calculated average distance is greater than the read radius.

FIG. 2 is a diagram illustrating an area 200 with location based contact tracing in accordance with respective examples. An individual 202 may desire to enter the area 200. The area 200 may be a building, such as a hospital, hotel, school, etc. As another example, the area 200 may be a cruise ship. A kiosk 204 may be placed at an entrance of the area 200 or near an entrance to the area 200. For example, the kiosk 204 may be located on a gangway that leads to a cruise ship. The kiosk 204 may include a camera, user interface, and health sensors. The camera may be used to capture video of the individual 202. The video may then be used to recognize the individual 202 using facial recognition. The kiosk 204 may include a user interface that accepts input from the individual 202. For example, the individual 202 may enter their name or request access to the area 200. The kiosk 204 may also include health sensors that are used to collect health data from the individual 202. For example, the kiosk 204 may include a temperature sensor that captures the body temperature of the individual 202. The temperature sensor may be an infrared camera. The kiosk 204 may relay any information gathered by the kiosk 204 to a remote device (not shown).

Using the health information and information received from the individual 202, access to the area 200 may be determined. For example, if the individual 202 appears to be healthy, access may be granted to the individual 202. If the health data indicates that the individual 202 is sick, then access to the area 200 may be denied. Access to the area 200 may controlled by locking or unlocking an entrance to the area 200. In one example, if the individual 202 appears to be sick the kiosk 204 may indicate to the individual 202 or other personnel that the individual 202 is to report to an infirmary that may be located within the area 200.

The area 200 may include multiple kiosks, such as kiosk 206. Data from multiple kiosks may be collected and analyzed together to determine if the individual 202 is sick. The kiosks may be able to identify the individual 202 using facial recognition or from information provided by the individual 202. Identifying the individual 202 along with the time the individual 202 was near a kiosks allows for tracing a path the individual 202 took navigating the area 200. In addition, beacon readers 208 may also collect health data. The beacon readers may also provide proximity information that may be used to determine a location of the individual 202.

FIG. 3 is a diagram illustrating an area 300 with location based contact tracing in accordance with respective examples. In this exemplary figure, the area 300 may be part of cruise ship or hotel. The area 300 includes rooms such as a gym 330, a casino 340, and two dining areas 310 and 320. Beacon readers, such as 316 and 326, may be installed within the area 300. The beacon readers detect beacons worn by individuals, such as 314 and 324. Data regarding detected beacons from multiple beacon readers may be combined to determine locations of the individuals 314 and 324.

Areas may have access controls that selectively unlock doors for particular individuals. For example, a door 342 to the casino 340 may be locked. As an individual approaches the door 342, a beacon associated with the individual may be detected by multiple beacon readers. One such beacon reader may be located near the door 342, such as within an access panel that displays information associated with the casino 342. The detected beacon may be used to determine if the individual has access rights to the casino. For example, someone under the age of 18 may be denied entry, such that the door 342 remains locked. If the individual, however, is over the age of 18, the door 342 may unlock granting the individual access to the casino. Other areas such as the gym 330 may allow access during certain times of the day.

Health data may be collected about individuals via health sensors integrated with the beacon readers, remote health sensors, or user-worn health sensors. As described in greater detail below, the health data may be used to determine if an individual is sick. The sickness determination may be used to modify the access list to areas. For example, an individual may be over the age of 18 and, therefore, may have access to the casino 340 and the gym 330. If the individual is determined to be sick the access list associated with the casino 340 and the gym 330 may be modified to exclude the sick individual. If the sick individual approached the casino 340, the door 342 would remain locked.

A sick individual, however, could still gain access to restricted areas. For example, a non-sick individual could be granted access to the casino 340. Once the door 342 opened, the sick individual could walk into the casino 340. Beacon readers located throughout the area 300 may be used to determine the location of sick individuals. If a sick individual is determined to be in a public place, an alert may be generated to the sick individual. The alert may instruct the individual to return to their room or report to an infirmary. An alert may also be generated for the crew or employees within the area. The alert may provide identifying information regarding the individual such that the crew may help escort the individual to a safe area.

The area 300 may also be configured to have designated areas for sick and non-sick guests. For example, the dining area 310 may be available for any sick guest, while the dining area 320 may be reserved for non-sick guests. Doors 312 and 322 may be in a locked state. An individual 314 has been determined to be sick based on health data associated with the individual 314. As the individual 314 approaches the door 312, the beacon reader 316 and other beacon readers not shown, detect a beacon associated with the individual 314. The door 312 or another device associated with door, such as an access panel, detects that the individual 314 is approaching. The door 312 or other device may then determine if the door 312 should be unlocked for the individual 314. As the dining area 310 is designated for sick individuals, the door 312 would unlock for the individual 314. The access list associated with the door 312 may be updated to include the individual 314 once the individual 314 is determined to be sick. Once the individual 314 is determined to no longer be sick, the access list associated with the door 312 is updated to remove individual 314. Accordingly, once the individual 314 has recovered, the individual 314 would not be granted access to the dining area 310.

Dining area 320 is similar to the dining area 310 in that access to the dining area 320 is controlled via a locked door 322. The dining area 320, however, is designated for non-sick individuals. Accordingly, the door 322 would not unlock if the sick individual 314 approached. A non-sick individual 324 has been granted access to the dining area 320. For example, when the individual 324 approached the door 322, the access list associated with the door 322 would be used to determine to permit access to the individual 324.

FIG. 4 is a diagram illustrating an augmented reality view 400 in accordance with respective examples. The augmented reality view 400 may be seen by an individual 410. The individual 410 shown has previously been determined to be sick. Path markers 414 may be used to show the individual 410 the route they should use to go back to their room or to another location, such as a quarantined area or infirmary. A crew member or other guests may also see portions or all of the augmented reality view. For example, other guests may see a sick indicator 412 on the guest. A crew member, such as a cleaning crew member, may see the path markers 414 to the guest room that requires disinfecting. In addition, a room indicator 416 may be seen to indicate that the room is associated with sick individuals. Again, crew members may see this indication 416 and know that the room requires cleaning. The augmented reality view 400 provides information for individuals to reduce or minimize the spread of an infection. For example, the sick individual may take the shortest and quickest path to a safe location. Other guests may see the sick individual 410 and stay the recommended distance away from the individual 410. Crew members or employees may use the augmented reality view to disinfect areas. For example, the path makers 414 may indicate the path a sick individual had taken through the entire area. A cleaning crew member may follow the path, thereby, disinfecting every area visited by the sick individual. In addition, the augmented reality view 400 allows crew and employees to quickly identify potentially sick individuals in public places. Appropriate action may then be taken by the crew or employee for the safety of the individual, other guests, the crew, and the general public.

FIG. 5 is a diagram illustrating a flow diagram of a process 500 for contact tracing in accordance with respective examples. The process 500 may be executed on a computing device. The process 500 may be used by a location service to detect sick individuals and contact tracing of those individuals.

At 510, beacon identifiers associated with a first and a second person are received over a period of time. For example, a first person may be associated with a beacon identifier. This beacon identifier may be broadcast from a device that is worn or carried by the individual. Similarly, a second person may carry or wear a device that transmits a second identifier that is associated with the second person. These beacon identifiers may be transmitted continuously from the respective devices. Beacon readers, which are part of a location service, receive the beacon identifiers and provides them to a location service.

At 520, the locations of the first and second persons are determined from the received beacon identifiers. For example, the location service may aggregate data from different beacon readers to determine a location of a beacon. Accordingly, the data received from beacon readers may be used to determine the locations of a beacon over a period of time. In addition to location, the location service may also associate a time that indicates when the beacon was detected. The time may then be associated with when the beacon was at a particular location. Beacons from a number of guests, crew, employees, etc., may be received by the location service. The location service may determine the locations of each of these people in addition to the locations of the first and second persons.

At 530, health data associated with the first person is received. The health data may include one or more of a body temperature, heart rate, or oxygen level of a person. In some examples, the health data is received from a camera installed within the area covered by the location service. For example, a camera, such as an infrared camera, may be used to determine a body temperature of a person. Health data may also be received using a microphone, health sensors, or from a user device. For example, audio data from a location associated with a person may be received. The audio data may be used to generate health data associated with the person. For example, the audio data may be analyzed to determine if the person is coughing, vomiting, wheezing, gasping, etc. As another example, sensors within a location associated with a person may be used to generate health data. For example, a water meter or a sensor that detects the number of times a toilet is flushed may be used to generate the health data. In another example, an air sensor may be used to detect the presence of airborne pathogens may be used. The location associated with the person may be a room assigned to the person. In another example, health data may be received by a medical professional, such as a doctor or nurse. The health data may be temperature, heart rate, oxygen levels, medications, vital signs, etc. In another example, the health data may be a sick indicator that does not include any additional health data.

The health data may be associated with a beacon identifier using a number of different techniques. As an example, facial recognition may be used to match the health data with a beacon identifier. Voice recognition may also be used. The location where the health data was collected may also be used. For example, health data gathered in a private area assigned to a person may be used to match the health data to the person. In another example, the health data may be provided along with the beacon identifier that is broadcast from the beacon. For example, the beacon may be worn by a person in an accessory. This accessory may also monitor the person's heart rate, temperate, oxygen levels, etc. This health information, therefore, could be broadcast along with the beacon identifier. In yet another example, the device collecting the health data can determine a distance between the device and the person. This distance may be used with the distance between a beacon reader and beacon determined by the location service to determine which beacon identifier the health data is associated. For example, an infrared camera may be installed on one or more beacon readers. The distance between the camera and the person and the distance between the detected beacon and beacon reader will be similar. If those distances are within a particular distance threshold, the health data can be associated with the beacon identifier. For example, when the distances are within 0.25 meters (m), 0.5 m, 1 m, etc., the health data may be associated with the beacon identifier.

At 540, the first person is determined to be sick. In some examples, the first person is determined to be sick based on the health data. For example, a first person may be determined to be sick when their temperature is above a predetermined threshold for more than a particular amount of time. The location of the person may be used to adjust the threshold. For example, the threshold may be increased based on an area. Gyms and saunas are example locations where the threshold may be increased. Swimming pools are an example location where the threshold may be decreased. Other health data may also be used to determine if a person is ill. Lower oxygen levels or changes in a person's heart rate may be used to determine the person is sick. The sickness determination is configurable. For example, a person may have sustained low-grade fever. The low-grade fever by itself may not qualify the person as being sick. Additional health data may be used to determine if the person is sick. For example, the heart rate, oxygen levels, coughing, etc., may be used to determine that the person is sick. As an example, a person with a low-grade fever combined with detected coughing may be identified as sick. While someone that has just a low-grade fever would be identified as healthy. A higher temperature fever, such as 103 degrees Fahrenheit, by itself may determine the person is sick without the use of other health data.

In another example, the first person is determined to be based upon health data received from a health professional. For example, a nurse or doctor may indicate that a particular person is sick. Health data indicating the first person is sick is received by the contact tracing system. A beacon identifier associated the first person is determined. The beacon identifier may be used by the location service to track the location of the first person.

At 550, a sick period of time for the first person is determined using the health data. The sick period of time is within the time period when the beacon identifiers are received. The sick period of time may indicate when the person first started exhibiting signs of sickness. In another example, the sick period of time may take into account an incubation period of illness. In yet another example, the sick period of time may be provided by a health professional.

At 560, two or more people are determined to have been within a proximity of the first person during the sick period of time based on information from the location service. The past location data of various people may be used to determine which people were proximate to the first person. As an example, the locations of the first person and the second person may be used to determine that the second person was within a proximity of the first person during the sick period of time. In an example, determining the second person was within the proximity of the first person during the time period includes determining the second person was within a predetermined distance from the first person. In addition, determining the second person was in proximity to the first person may take into account how long the second person was proximate to the first person. For example, determining the second person was near the first person may include determining the second person was within the predetermined distance from the first person for more than a predetermined period of time. The predetermined time period and distance may be configurable. In an example, the distance and time may be based on a type of sickness associated with the first person. For example, the predetermined distance may be six feet and the predetermined period of time may be 5 minutes. In an example, the period of time may be cumulative of different times when the persons were proximate to one another. For example, the first person and second person may be within six feet of one another for three minutes. Then at a later time, the first and second person may be within six of one another for another three minutes within the sick period. In total, the first and second person were near one another for more than five minutes. In some examples, this cumulative amount of time indicates that the first person and second person were proximate to one another.

At 570, a list of the two or more people that were proximate to the first person is generated. The list may be printed, emailed, or displayed to employees or health professionals. The list may be used to determine individuals that should be alerted regarding being proximate to the first person. For example, an employee may use the location service to identify

In some examples, an alert associated with the second person may be generated based on the determination that the first person is sick. The alert may be provided to the second person and indicate that the second person was recently in the proximity of a sick person. The second person may self quarantine based on this alert. In addition to an alert, other actions may be taken based determining the first person is sick. For example, the first person may be removed from access rights to a location. As an example, the first person may be allowed in a public area, such as a restaurant. Once the first person is identified as sick, the first person may be removed from the access list to the restaurant. The first person, however, may be added to an access list for a different location. For example, a restaurant that caters to sick individuals may have the first person added to the corresponding access list. In addition, a list of all individuals that were proximate to the first person during the sick period of time may be generated.

Once a person is determined to be sick, the location service may generate a path through the area indicating where the sick person had been. The location service may also determine possible infected locations where the sick person visited during the sick period of time. A list of individuals that were within a possibly infected location may be determined. The amount of time a person spends in a possibly infected location may be used to determine if the person is at risk of being infected. An alert based on this risk may be provided to the person.

The path and/or the locations may be used to generate a cleaning schedule. The cleaning schedule may include each of the infected locations to be cleaned. In an example, a cleaning employee may use augmented reality to see the path taken be a sick person. In this example, video of an area is altered to show the path taken by the sick person through the area. The cleaning employee may use this path to effectively clean and neutralize surface contagions. The video may also be altered to show that one or more of the infected locations is currently closed to guests. In another example, the video may be altered to provide an indication if a sick person is within the area. For example, if the first person is walking down a hallway, video of the first person may be altered by placing a sick indicator over the first person or on the first person.

One or more of the infected locations may be a public area that is temporarily closed. In this example, access rights to the closed locations may be changed. For example, a casino may be closed. Normally, any guest of a hotel or a cruise ship may be able to access the casino. Doors going to the casino may automatically unlock to allow guests access to the casino. In an example, the casino doors may unlock based on a beacon identifier being detected in the vicinity of the casino doors. Normally, the casino doors may not unlock for guest that are below a specific age. If the casino has been temporality closed due to a sick person spending more than a predetermined amount of time in the casino, the access list associated with the casino doors may be changed to not admit any guest into the casino. Once the casino has been cleaned and determined safe, the access list may be updated to allow guests to once again enter the casino. An indication that a location has been disinfected may be sent from cleaning employees to a device.

In a specific example, beacon readers may be installed throughout a cruise ship. Guests and crew of the cruise ship may wear a beacon. As guests and crew move through the cruise ship, the beacon readers may detect the worn beacons. A location service may collect data from multiple beacon readers to determine when a guest or crew was at a particular location. In addition, data from cameras, such as closed circuit cameras, may be used to recognize guests and crews. The location data from the location service and the recognition data from camera may be combined to construct a path that a guest took through the cruise ship. In addition to the path, the time when a guest was a point on the path may also be determined. Constructing the path and time data from multiple guests allows for the determination of what guests and crew were near other guests and crew. If someone is determined to be sick, a list of individuals that were in close proximity to the sick individual may be determined. In addition, the locations and the time spent at those locations by the sick individual may be determined. When a cruise ship is preparing to dock at a location, list of sick individuals and those individuals that were close proximity to a sick individual may be generated. This list may be used to quarantine individuals and allow/prevent boarding of individuals.

As temperature may be used to determine if an individual is sick, accurate temperature reading is important. In various examples, image data from a camera is used to detect a brain thermal tunnel of an individual. Using the location of the brain thermal tunnel, a temperature of that area may be determined. For example, the temperature may be determined using data from a thermal camera of the individual. The brain thermal tunnel region is known to have a more accurate core temperature of an individual compared to other external areas of the individual.

FIG. 6 is a diagram illustrating an image frame 600 of a detected face 620 of an individual 610 in accordance with respective examples. The video frame 600 may be capture using a video camera or a thermal camera. Known artificial intelligence or other tools may be used to identify one or more faces within an image frame. In addition, image frames from a video may be used together to identify faces within the image frames. In some examples, features of a detected face may be extracted using one or more image frames. For example, the location of each eye may be determined. The location of a feature, such as an eye, may include a bounding box around the feature. Other features may include the location an eye brow, nose, inner edge of an eye, etc.

FIG. 7 is a diagram illustrating the image frame 600 of a detected brain thermal tunnel region 730 of the individual 620 in accordance with respective examples. The features detected from the face 620 may be used to define one or more brain thermal tunnel regions, such the brain thermal tunnel region 730. For example, a middle of the left eye of the individual may be calculated from the location of the left eye within the image frame 600. The upper location of the left eye brow and the lower location of the left eye may be calculated as the top and bottom location of the brain thermal tunnel region 730. In an example, a middle of the individual's nose may be used as the right location of the brain thermal tunnel region 730. Using these four locations, the location of the brain thermal tunnel region 730 within the image frame 600 may be calculated. A padding amount may be used to increase or decrease the brain thermal tunnel region's location. Similar analysis may be done to find a brain thermal tunnel region associated with the individual's right eye.

In some examples, the camera that captures the image frame 600 is a thermal camera. In these examples, the temperature within the brain thermal tunnel region 730 may be calculated from the temperature data within the image frame 600 itself or corresponding data from the thermal camera. In other examples, two or more cameras are used. One or more cameras are used to capture the image frames from which faces and brain thermal tunnel regions are detected. Other cameras are used to detect thermal data associated with the individual. In these examples, a mapping of image data from different cameras is done to have a common coordinate system. The common coordinate system allows a location within image data of one camera to have a corresponding location within the image data of a second, different camera. Accordingly, a location in an image from one camera may be mapped onto an image from a second camera. In one example, the two or more cameras are capturing data from the same scene and at the same time. Accordingly, an image from one camera can have a corresponding image from a second camera where the images were captured at the same time.

FIG. 8 is a diagram illustrating a flow diagram of a process 800 for temperature determination of an individual using a brain thermal tunnel in accordance with respective examples. The process 800 may be executed on a computing device. The process 800 may be used by one or more cameras and a processor of the computer device to determine a temperature of an individual using the brain thermal tunnel.

At 810, multiple image frames are received from a camera. The camera may be a thermal camera, infra-red camera, or an image camera. At 820, an individual in each of the image frames is detected. In some examples, known artificial intelligent facial recognition software is used to detect the individual. An individual may be detected based on a face of the individual that is detected within each of the image frames. The image frames may be image frames that are captured over a period of time. If the individual is not detected in a subset of the image frames, those image frames may be filtered out of the image frames.

At 830, facial features of the individual are detected in each of the image frames where the individual was detected. For example, the location of eyes, eye brows, nose, ears, mouth, etc., may be detected in the image frames. In some examples, some or all of these features may be determined using known facial recognition software.

At 840, using the detected facial features a brain thermal tunnel region of the individual is detected in the image frames. In an example, the brain thermal tunnel region is defined using the location of one eye of the individual, the location of the individual's nose, and the location of the individual's eye brows. For example, for the brain thermal tunnel associated with the individual's left eye, the upper left coordinate of the brain thermal tunnel region may be defined as the top location of the eye brow and the location of the eye. For example, the middle of the individual's eye may be used as the location of the eye. The lower right coordinate of the brain thermal tunnel region may be defined at the bottom location of the eye and the location of the nose. For example, the middle of the nose may be used as the location of the nose. Corresponding locations may be used to determine the brain thermal tunnel region associated with the right eye.

In some examples, the brain thermal tunnel region of both eyes is calculated for an individual. For each image frame, one or both brain thermal tunnel regions may be used to determine a temperature of the individual. In some examples, each image frame is analyzed to determine which brain thermal tunnel region to use. For example, an area of the brain thermal tunnel region may be used or a change in the brain thermal tunnel region from previous image frames may be used to determine which brain thermal tunnel region to use from an image frame. As an example, the smaller or larger area may be used to select which brain thermal tunnel region to use. As another example, the brain thermal tunnel region with the least change in location from earlier image frames may be used to select the brain thermal tunnel region to use. In one example, the edges of the two eyes and the middle of the nose bridge are used to determine two brain thermal tunnel regions, one for each eye. Then, an analysis is done to determine which brain thermal tunnel region is more visible. The more visible brain thermal tunnel region is then used. In an example, the more visible region may be determined based on areas of the regions. Lighting conditions may also be used to account for lighting variance. In an example, the lighting conditions along with the area of the regions are used to determine the more visible of the two regions. For example, a score may be calculated for both the area and the lighting conditions. These scores may be weighted. The two scores may then be combined. The combined scores may then be used to determine the more visible brain thermal tunnel region. In addition, previous frames or previous decisions regarding which region to use may be used in determining the most visible region.

At 850, image frames that include thermal data are received from a camera. In one example, a single camera is used to collect the image data used to determine the brain thermal tunnel region and that collects thermal data. In another example, two or more camera are used. In this example, a first camera collects the image frames used to determine where the brain thermal tunnel is located and a second, different camera is used to collect thermal data. In this example, the cameras are collecting data from the same area and at the same time. Accordingly, the image data from both cameras correspond to one another in the time domain. In an example, image frames that are captured at the same time from both cameras correspond to one another.

At 860, the brain thermal tunnel location in the image frames is mapped to locations within the image frames that have the thermal data. When two or more cameras are used, mapping the brain thermal tunnel location takes into account the location of the cameras to one another.

In an example with separate thermal and visual cameras, the visual camera's corresponding coordinates may be translated to the thermal camera's corresponding coordinates. In another example, the mapping is reversed to the thermal camera's coordinates being translated to the visual camera's corresponding coordinates. In an example, this may be done by storing the information of the view angle and axis difference of the cameras. This may be part of the initial setup to records this information for use in the translation of coordinates. If some examples, multiple visual cameras may be used with thermal data from a single thermal camera. In this example, the visual camera that produces the most visible brain thermal tunnel region may be used. In another example, the brain thermal tunnel regions from multiple visual cameras are used with data from a single thermal camera. The temperature determination from multiple brain thermal tunnel regions may then be combined, e.g., average, median, etc., to determine the temperature of the individual.

At 870, a temperature of the individual for each of the image frames with thermal data is determined using the mapped brain thermal tunnel location. In some examples, the determined temperature is used to filter an image frame such that the filtered image frame is not used to determine the combined temperature. For example, a filter temperature based on previous image frames may be determined and updated. As a specific example, the average temperature over the last five image frames may be used as the filter temperature. Other number of image frames may also be used, such as, but not limited to, 2, 3, 7, 10, etc. In some examples, the number of image frames to use is based on the sampling rate of the camera. For example, the number of image frames may be selected to cover a period of time such a 0.1 s, 0.25 s, 0.33 s, 0.5 s, 1.0 s, which may be calculated using the sampling rate of the camera. The temperature determined from an image frame that deviates from the filter temperature by more than predetermined amount is filtered as being an erroneous or a deviated temperature. As another example as filtering, the amount of movement of the brain thermal tunnel location may be used to file an image frame. For example, if the brain thermal tunnel location has moved more than a predetermined amount, then the image frame may be filtered. Large movements of the brain thermal tunnel region may indicate that the temperature determination from the image frame will have a higher degree of inaccuracies compared to more image frames with less brain thermal tunnel region movement. In another example, a distance between the camera and the individual is used to file image data. For example, when the individual is more than a predetermined distance in an image frame, the image frame may be filtered from the image frames used to determine the temperature. The filtering based on movement of the brain thermal tunnel region or distance may be done with the image frames from the first camera rather than the image frames from a thermal camera.

As another example, the area of the brain thermal tunnel region may also be used to filter image frames. Image frames where the area of the brain thermal tunnel region is less than a predetermined threshold may be filtered. This type of filtering allows the filtering of image frames where the individual is beyond a certain distance from the camera or who is not facing the camera in a direct-enough manner. For example, an image frame containing an individual who is close to the camera but has turned their head to one side would be filtered.

At 880, a combined temperature of the individual is determined from the determined temperatures from each of the image frames with thermal data. In examples where image frames with thermal data are filtered, the combined temperature is based on image frames that were not filtered. In an example, the combined temperature is an average temperature of the determined temperatures of the image frames with thermal data.

In examples, where there are multiple cameras the sampling rates of the cameras may be coordinated. For example, a sampling rate for the thermal camera may be based on the sampling rate of the image camera or vice versa. In an example, the sampling rate may be synchronized such that the cameras create one-for-one image frames. In another example, the sampling rates are set such that cameras create images frames that have one or more corresponding image frames. For example, the sampling rate of one camera may be set to be a whole number multiple of the other camera. In some examples, the sampling rate of a camera may be set to 10, 20, 25, 33, 50, etc., image frames per second.

The combined temperature may be used to take an action corresponding to the individual. For example, the combined temperature may be used to determine if the individual is ill based on the combined temperature being above a pre-determined elevated temperature level. For example, the pre-determined elevated temperature level may be set to indicate that the individual has a fever. An action may be taken based on determining the combined temperature is above the pre-determined elevated temperature level.

In one example, the one or more cameras may be incorporated into a kiosk. The kiosk may be placed at an entrance to an area, such as a building, cruise ship, a concert, a contained outdoor area, or any other area that has entrances. As individuals seek to enter the area, the individual may stand or walk by the kiosk. Cameras within or communicatively attached to the kiosk map capture the image frames. When an individual is detected with an increased temperature, the kiosk or other computing device communicatively attached to the kiosk, for example a computing device attached to the kiosk via a network, may restrict access to the area for the individual. For example, an alert including captured image frames of the individual may be sent to an entrance desk. The entrance desk may then deny entry to the individual. An alarm or alert may also be sounded or signaled based on an elevated temperature. As another example, locks on doors or turnstiles may be engaged to prevent the individual from entering the area. In one example, the image frames may be used to identify the individual based on previously stored image frames. For example, an individual may work at an office building that captures an image of the individual for building security purposes. The image frames from the kiosks may be compared to the captures images of worker to identify the worker with the elevated temperature. Next, the access rights associated with that worker may be changed to prevent the worker from being able to access the area. For example, turnstile access, elevator access, floor access, and individual door access may be modified to prevent the work from accessing corresponding areas. In one example, a sick individual may be removed from any public areas within a larger area. In addition, some areas may be reserved for only sick individuals. For example, waiting areas, bathrooms, etc., may be accessible only to individuals that are determined to be sick.

As another example, the individual may be wearing a beacon that broadcasts a beacon identifier that is associated with the individual. Interfacing with a location service, a kiosk is able to determine the identity of the individual. The identity may be an identifier associated with the individual, rather than personal information. The kiosk may request the location service identify an individual based on the image frames captured by the kiosk. The location of the kiosk or the location of the cameras may be used by or provided to the location service to determine the individual with the elevated temperature. Once an identifier that is used by the location service is known, historical data from the location service may be used to contact trace where the individual has traveled within an area covered by the location service. In addition, other individuals that came into close contact to the sick individual may be determined. These individuals may then be contacted or alerted. For example, these individuals may be requested to self quarantine or have their access privileges modified to restrict their movement within the area. Further, the location service may track the sick individual as the sick individual moves around the area. The locations visited by the sick individual may be logged. For example, these locations may be logged as areas needing additional cleaning based on being visited by a sick individual.

Using the described temperature determinations of individuals allows for quick notification when an ill individual attempts to enter an area or who becomes ills while in an area. The area may then be protected or cleaned based on determining the presences of the sick individual. Further, combining information from a kiosk with information for a location service allows additional features such as contact tracing, revised access lists, updated cleaning schedules, etc.

While temperature is described above as being used to determine if an individual is sick, other health data from the image frames may also be used. Coloration of skin surfaces that indicate micro-blushes may be used to determine blood oxygen levels. Further, blood pressure may also be determined from image data. For example, blood pressure and oxygen saturation may be determined from retina image data. Other examples include determining an individual's heart rate, etc. This additional health data may be used alone or combined with temperature data to determine if an individual is sick, rather than relying on temperature alone.

FIG. 9 is an example computing device that can be used in conjunction with the technologies described herein. In alternative embodiments, the computing device 900 may operate as a standalone device or may be connected (e.g., networked) to other computing devices. In a networked deployment, the computing device 900 may operate in the capacity of a server communication device, a client communication device, or both in server-client network environments. In an example, the computing device 900 may act as a peer computing device in peer-to-peer (P2P) (or other distributed) network environment. The computing device 900 may be a beacon reader, personal computer (PC), a tablet PC, a set top box (STB), a personal digital assistant (PDA), a mobile telephone, a smart phone, a web appliance, a network router, switch or bridge, or any computing device capable of executing instructions (sequential or otherwise) that specify actions to be taken by that computing device. Further, while only a single computing device is illustrated, the term “computing device” shall also be taken to include any collection of computing devices that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein, such as cloud computing, software as a service (SaaS), other computer cluster configurations. Computing device may be an implementation of a beacon reader 900, may implement components of the contact tracing system, and perform the methods of FIG. 5 or FIG. 8.

Computing device 900 may include a hardware processor 902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory 904 and a static memory 906, some or all of which may communicate with each other via a link (e.g., bus) 908. The computing device 900 may further include a display unit 900, an input device 912 (e.g., a keyboard), and a user interface (UI) navigation device 914 (e.g., a mouse). In an example, the display unit 910, input device 912, and UI navigation device 914 may be a touch screen display. In an example, the input device 912 may include a touchscreen, a microphone, a camera (e.g., a panoramic or high-resolution camera), physical keyboard, trackball, or other input devices.

The computing device 900 may additionally include a storage device (e.g., drive unit) 916, a signal generation device 918 (e.g., a speaker, a projection device, or any other type of information output device), a network interface device 920, and one or more sensors, such as a global positioning system (GPS) sensor, compass, accelerometer, motion detector, or other sensor. The computing device 900 may include an input/output controller 928, such as a serial (e.g., universal serial bus (USB), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection to communicate or control one or more peripheral devices (e.g., a printer, card reader, etc.) via one or more input/output ports.

The storage device 916 may include a computing-readable (or machine-readable) storage media 922, on which is stored one or more sets of data structures or instructions 924 (e.g., software) embodying or utilized by any one or more of the techniques or functions described herein. In an example, at least a portion of the software may include an operating system and/or one or more applications (or apps) implementing one or more of the functionalities described herein. The instructions 924 may also reside, completely or at least partially, within the main memory 904, within the static memory 906, and/or within the hardware processor 902 during execution thereof by the computing device 900. In an example, one or any combination of the hardware processor 902, the main memory 904, the static memory 906, or the storage device 916 may constitute computing device (or machine) readable media.

While the computer-readable storage media 922 is illustrated as a single medium, a “computer-readable storage media” or “machine-readable storage media” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) configured to store the one or more instructions 924.

In an example, a computer-readable storage media or machine-readable storage media may include any medium that is capable of storing, encoding, or carrying instructions for execution by the computing device 900 and that cause the computing device 900 to perform any one or more of the techniques of the present disclosure, or that is capable of storing, encoding or carrying data structures used by or associated with such instructions. Non-limiting computer-readable storage media examples may include solid-state memories, and optical and magnetic media. Specific examples of computer-readable storage media may include: non-volatile memory, such as semiconductor memory devices (e.g., Electrically Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM)) and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; Random Access Memory (RAM); and optical media disks. The computer-readable storage media is non-transitory in that the storage media does not consist of transitory propagating signals.

The instructions 924 may further be transmitted or received over a communications network 926 using a transmission medium via the network interface device 920 utilizing any one of a number of transfer protocols (e.g., frame relay, internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol (HTTP), etc.). Example communication networks may include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), mobile telephone networks (e.g., cellular networks), Plain Old Telephone (POTS) networks, and wireless data networks (e.g., Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards known as Wi-Fi®, IEEE 802.16 family of standards known as WiMax®), IEEE 802.15.4 family of standards, a Long Term Evolution (LTE) family of standards, a Universal Mobile Telecommunications System (UMTS) family of standards, peer-to-peer (P2P) networks, among others. The network interface device 920 may use the transfer protocols to transmit data using transitory propagating signals.

In an example, the network interface device 920 may include one or more physical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or more antennas to connect to the communications network 926. In an example, the network interface device 920 may include one or more wireless modems, such as a Bluetooth modem, a Wi-Fi modem or one or more modems or transceivers operating under any of the communication standards mentioned herein. In an example, the network interface device 920 may include a plurality of antennas to wirelessly communicate using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) techniques. In some examples, the network interface device 920 may wirelessly communicate using Multiple User MIMO techniques. In an example, a transmission medium may include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the computing device 900, and includes digital or analog communications signals or like communication media to facilitate communication of such software.

Any of the computer-executable instructions for implementing the disclosed techniques as well as any data created and used during implementation of the disclosed embodiments can be stored on one or more computer-readable storage media. The computer-executable instructions can be part of, for example, a dedicated software application or a software application that is accessed or downloaded via a web browser or other software application (such as a remote computing application). Such software can be executed, for example, on a single local computer (e.g., any suitable commercially available computer) or in a network environment (e.g., via the Internet, a wide-area network, a local-area network, a client-server network (such as a cloud computing network), or other such network) using one or more network computers.

The above description is intended to be illustrative, and not restrictive. For example, the above-described examples (or one or more aspects thereof) may be used in combination with others. Other embodiments may be used, such as by one of ordinary skill in the art upon reviewing the above description. Further, the following claims are hereby incorporated into the Detailed Description, with a claim standing on its own as a separate embodiment. The scope of the embodiments disclosed herein is to be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. 

What is claimed is:
 1. A method for determining a temperature of an individual, the method comprising operations performed using an electronic processor, the operations comprising: receiving, from a first camera, a first plurality of image frames; detecting the individual in each of the one or more of the first plurality of frames; detecting, for each of the first plurality of frames, facial features of the individual based on the detecting of the individual; determining a brain thermal tunnel location in each of the first plurality of frames for the individual based on the facial features of the individual; receiving, from a second camera, a second plurality of image frames, wherein each of the second plurality of image frames comprises thermal data, and wherein the second plurality of frames temporally correspond to the first plurality of image frames; mapping the brain thermal tunnel location in each of the first plurality of frames to each of the second plurality of image frames; determining, for each of the second plurality of image frames, a temperature of the individual based on the mapped brain thermal tunnel location; and determining a combined temperature of the individual based on the determined temperatures from each of the second plurality of image frames.
 2. The method of claim 1, further comprising filtering one or more of the second plurality of image frames based on the determined temperature of the filtered image frame.
 3. The method of claim 2, further comprising: determining a deviation from the combined temperature for each of the second plurality of image frames, wherein the filtering is based on the deviation, wherein determining the combined temperature is based on each of the second plurality of image frames that were not filtered.
 4. The method of claim 2, further comprising: determining a movement distance of the individual for each of the second plurality of image frames based on a previous image frame, wherein the filtering is based on the movement distance, wherein determining the combined temperature is based on each of the second plurality of image frames that were not filtered.
 5. The method of claim 2, further comprising: determining a distance from the first camera or the second camera of the individual for each of the second plurality of image frames, wherein the filtering is based on the distance, wherein determining the combined temperature is based on each of the second plurality of image frames that were not filtered.
 6. The method of claim 1, wherein the facial features of the individual comprise an eye location and an eye brow location.
 7. The method of claim 6, wherein the brain thermal tunnel location comprises a rectangle with an upper left corner defined by the left eye location and the left eye brow location and with a lower right corner defined by the left eye location and a location of a nose.
 8. The method of claim 1, wherein the determining the combined temperature comprises calculating the average temperature from the determined temperatures from each of the second plurality of image frames.
 9. The method of claim 1, further comprising determining a sampling rate for the second camera based on the first plurality of image frames from the first camera, wherein the sampling rate is used to collect the second plurality of image frames.
 10. The method of claim 1, further comprising: determining the combined temperature is above a pre-determined elevated temperature level; and taking an action based on the determining the combined temperature is above the pre-determined elevated temperature level.
 11. The method of claim 10, wherein the action comprises instructing a door lock to lock an entrance.
 12. The method of claim 10, wherein the action comprises determining an identity of the individual from the first plurality of image frames based on determining the combined temperature is above the pre-determined elevated temperature level; and correlating the identity of the individual to an individual identifier.
 13. The method of claim 12, wherein the action further comprises requesting, from a location service, a plurality of past locations of the individual.
 14. The method of claim 12, wherein the action further comprises logging, using a location service, a plurality of locations of the individual.
 15. The method of claim 12, wherein the action further comprises updating an access list for a public area to remove the individual from access list.
 16. A system comprising: an electronic processor configured to: receive, from a first camera, a first plurality of image frames; detect the individual in each of the one or more of the first plurality of frames; detect, for each of the first plurality of frames, facial features of the individual based on the detecting of the individual; determine a brain thermal tunnel location in each of the first plurality of frames for the individual based on the facial features of the individual; receive, from a second camera, a second plurality of image frames, wherein each of the second plurality of image frames comprises thermal data, and wherein the second plurality of frames temporally correspond to the first plurality of image frames; map the brain thermal tunnel location in each of the first plurality of frames to each of the second plurality of image frames; determine, for each of the second plurality of image frames, a temperature of the individual based on the mapped brain thermal tunnel location; and determine a combined temperature of the individual based on the determined temperatures from each of the second plurality of image frames.
 17. The system of claim 16, wherein the electronic processor is further configured to filter one or more of the second plurality of image frames based on the determined temperature of the filtered image frame.
 18. The system of claim 16, wherein the electronic processor is further configured to: determine the combined temperature is above a pre-determined elevated temperature level; and take an action based on the determining the combined temperature is above the pre-determined elevated temperature level.
 19. A non-transitory computer-readable storage medium storing computer-executable instructions that, when executed by a processor, cause the processor to, receive, from a first camera, a first plurality of image frames; detect the individual in each of the one or more of the first plurality of frames; detect, for each of the first plurality of frames, facial features of the individual based on the detecting of the individual; determine a brain thermal tunnel location in each of the first plurality of frames for the individual based on the facial features of the individual; receive, from a second camera, a second plurality of image frames, wherein each of the second plurality of image frames comprises thermal data, and wherein the second plurality of frames temporally correspond to the first plurality of image frames; map the brain thermal tunnel location in each of the first plurality of frames to each of the second plurality of image frames; determine, for each of the second plurality of image frames, a temperature of the individual based on the mapped brain thermal tunnel location; and determine a combined temperature of the individual based on the determined temperatures from each of the second plurality of image frames.
 20. The non-transitory computer-readable storage medium of claim 18, wherein the processor further executes the instructions to: determine the combined temperature is above a pre-determined elevated temperature level; and take an action based on the determining the combined temperature is above the pre-determined elevated temperature level. 